home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / biz / misc / alarmst_.lha / test / Alarmist_OnTimeEdit.rexx next >
OS/2 REXX Batch file  |  1997-04-05  |  3KB  |  108 lines

  1. /*******************************************************************
  2. * ARexx Script: Alarmist_OnTimeEdit.rexx                           *
  3. * Version.....: 1.00 (14.02.97)                                    *
  4. * ---------------------------------------------------------------- *
  5. * This script is called by Alarmist when you double-click on an    *
  6. * entry in either the Reminder or Today's Task List. This script   *
  7. * will run On-Time (if it isn't already running) and tell it to    *
  8. * search for the relevent item and bring up an edit window for it. *
  9. * If you call it manually then it will try and find the current    *
  10. * Alarm activated in the main list.                                *
  11. *******************************************************************/
  12.  
  13. /* We expect the Item Type followed by the Item Name as arguments */
  14. /* Item Types: 1 = Event, 2 = Task */
  15. /* If we receive nothing then we'll try and use an active entry   */
  16. /* in the Alarmist main list. */
  17.  
  18. options results
  19.  
  20. parse arg type name
  21.  
  22. /* Was the script called without an Even name parameter? */
  23. if (name = '') then
  24. do
  25.  
  26.         /* Let's see if we have an active entry */
  27.         getactive
  28.         
  29.         if (result = 0) then
  30.                 exit(10)
  31.         
  32.         /* Get the data we need, ie. name */
  33.         getfield 1
  34.         name = result
  35.         getfield 2
  36.         source = result
  37.  
  38.         /* Just make sure this it isn't an Alarmist Event. */
  39.         if (source = 1) then
  40.         do
  41.                 'requester button Oops message "'name'" is an Alarmist Event!'
  42.                 exit(10)
  43.         end
  44.         
  45.         
  46.         type = 1 /* An Event of course */
  47.  
  48.         if (name = '') then
  49.                 exit(10)
  50. end
  51.  
  52.  
  53. /* If On-Time isn't running then call it  */
  54. if (~show('p', "ONTIME")) then
  55. do
  56.         address command
  57.         
  58.         /* Get On-Time running */
  59.         'echo >pipe:temp stack 9000'
  60.         'echo >pipe:temp everyday:ontime'
  61.         'copy pipe:temp t:temp.scr'
  62.         'run >NIL: execute t:temp.scr'
  63.         
  64.         DO WHILE ~show('p', "ONTIME")
  65.         END
  66.                 
  67.         if (rc ~= 0) then
  68.         do
  69.                 say 'The program "Everyday:OnTime" failed or was not located.'
  70.                 exit(5)
  71.         end
  72.  
  73.         address rexx
  74. end
  75.  
  76. address ONTIME
  77.  
  78. /* Before searching, we have to turn the relevant filter off so all list items
  79.    are shown. This is because the search function only searches items displayed
  80.    in the current list. We also have to make sure no item is active because the
  81.    search function starts from after the currently active entry. */
  82. if (type = 1) then
  83. do
  84.         'active event noactive'
  85.         'filter event state 0'
  86.         'search event casesens field 1 'name
  87. end
  88. else
  89. do
  90.         'active task noactive'
  91.         'filter task 0'
  92.         'search task casesens field 1 'name
  93. end
  94.  
  95. if (rc ~= 0) then
  96. do
  97.         'requester button #:~( message Can''t find "'name'"'
  98.         exit (10)
  99. end
  100.  
  101. if (type = 1) then
  102.         edit event
  103. else
  104.         edit task
  105.  
  106. /* Our work is done */
  107. /* End */
  108.